package com.flower8.service;

import com.flower8.model.SysAdmin;
import com.flower8.utils.PageData;
import org.apache.catalina.User;

import java.util.List;

/**
 * @Description:
 * @Author: tanglin
 * @Date: 2019/09/04 17:14
 * @Version: 1.0
 */
public interface SysAdminService {
    /**
     * 根据条件查询系统管理员
     * @param pd
     * @return
     */
    List<SysAdmin> getAllAdmin(PageData pd)throws Exception;

    /**
     * 根据条件查询系统管理员数量
     * @param pd
     * @return
     * @throws Exception
     */
    int getAllAdminCount (PageData pd)throws Exception;

    /**
     * 更新管理员信息
     * @param sysAdmin
     * @throws Exception
     */
    void update(SysAdmin sysAdmin)throws Exception;

    /**
     * 删除管理员
     * @param id
     * @throws Exception
     */
    void delete(Long id)throws Exception;
    /**
     * 新增管理员
     * @param sysAdmin
     * @return
     */
    void save(SysAdmin sysAdmin)throws Exception;

    /**
     * 根据id查询
     * @param id
     * @return
     */
    SysAdmin getById(Long id);

    /**
     * 根据管理员账号查询
     * @param account
     * @return
     */
    SysAdmin getUser(String account);

    /**
     * 加密
     * @param credentials
     * @param salt
     * @return
     */
    String passwordEncoder(String credentials, String salt);

    /**
     * 修改账号密码
     * @param id  账号id
     * @param oldPassword  旧密码
     * @param newPassword  新密码
     * @throws Exception
     */
    String changePassword(Long id, String oldPassword, String newPassword)throws Exception;
}
